package br.com.imapps.category;

import java.util.ArrayList;

import br.com.imapps.adapter.NavDrawerListAdapter;
import br.com.imapps.bazmob.R;

import br.com.imapps.bazmob.R.id;
import br.com.imapps.bazmob.R.layout;
import br.com.imapps.bazmob.R.menu;
import br.com.imapps.fragments.HomeFragment;
import br.com.imapps.model.NavDrawerItem;
import br.com.imapps.util.UtilMenuDrawer;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;

import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

public class Act_shoes extends FragmentActivity{
	///Variaveis para drawmenu
	
		private DrawerLayout mDrawerLayout;
	    private ListView mDrawerList;
	    private ActionBarDrawerToggle mDrawerToggle;
	 
	    // nav drawer title
	    private CharSequence mDrawerTitle;
	 
	    // used to store app title
	    private CharSequence mTitle;
	    
	    private Fragment controlFrag = null;
	 
	    // slide menu items
	    private String[] navMenuTitles;
	    private TypedArray navMenuIcons;
	 
	    private ArrayList<NavDrawerItem> navDrawerItems;
	    private NavDrawerListAdapter adapter;
	    
	    private ActionBar ab;
	    //fim drawmenu variaveis

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lay_act_shoes);
		
		
		///MENU DRAWER
		
		//###################DRAWERMENU##########################
				mTitle = mDrawerTitle = getTitle();
				 
		        // load slide menu items
		        navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items_shoes); //trocar lista de items
		 
		        // nav drawer icons from resources
		        navMenuIcons = getResources()
		                .obtainTypedArray(R.array.nav_drawer_icons_shoes); //trocar lista de icons
		 
		        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout_shoes);
		        mDrawerList = (ListView) findViewById(R.id.list_slidermenu_shoes); //Trocar nome do slider
		 
		        navDrawerItems = new ArrayList<NavDrawerItem>();
		 
		        // adding nav drawer items to array
		        // Home
		        
		        ///INCLUIR NO MENU
		        
		        incluirMenu();
		        
		        // Recycle the typed array
		        navMenuIcons.recycle();
		 
		        // setting the nav drawer list adapter
		        adapter = new NavDrawerListAdapter(getApplicationContext(),
		                navDrawerItems);
		        
		       
		        
		        mDrawerList.setAdapter(adapter);
		 
		        
		        
		        
		        // enabling action bar app icon and behaving it as toggle button
		      //  getActionBar().setDisplayHomeAsUpEnabled(true);
		        getActionBar().setHomeButtonEnabled(true);
		 
		        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
		                R.drawable.ic_drawer, //nav menu toggle icon
		                R.string.app_name, // nav drawer open - description for accessibility
		                R.string.app_name // nav drawer close - description for accessibility
		        ){
		            public void onDrawerClosed(View view) {
		            
		                getActionBar().setTitle(mTitle);
		                // calling onPrepareOptionsMenu() to show action bar icons
		                invalidateOptionsMenu();
		            }
		 
		            public void onDrawerOpened(View drawerView) {
		                getActionBar().setTitle(mDrawerTitle);
		                // calling onPrepareOptionsMenu() to hide action bar icons
		                invalidateOptionsMenu();
		            }
		        };
		        mDrawerLayout.setDrawerListener(mDrawerToggle);
		 
		        if (savedInstanceState == null) {
		            // on first time display view for first nav item
		            displayView(0);
		        }
				
				
				ab = getActionBar();
				ab.setBackgroundDrawable(new ColorDrawable(Color.RED));
				
				 
			        mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
				   
				
				//############# FiNAL drawerMenu ####################
				
		
		//MENU DRAWER
		
		
	}
	

	public void incluirMenu(){
		navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
        // Find People
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
        // Photos
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
        // Communities, Will add a counter here
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true, "22"));
        // Pages
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
        // What's hot, We  will add a counter here
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1), true, "50+"));
     // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(0, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[7], navMenuIcons.getResourceId(1, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[8], navMenuIcons.getResourceId(2, -1), true, "20+"));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[9], navMenuIcons.getResourceId(3, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[10], navMenuIcons.getResourceId(4, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(0, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[7], navMenuIcons.getResourceId(1, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[8], navMenuIcons.getResourceId(2, -1), true, "20+"));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[9], navMenuIcons.getResourceId(3, -1)));
        // Bebes
        navDrawerItems.add(new NavDrawerItem(navMenuTitles[10], navMenuIcons.getResourceId(4, -1)));
 
	}
	
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.act_shoes, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		  if (mDrawerToggle.onOptionsItemSelected(item)) {
	            return true;
	        }
	        // Handle action bar actions click
	        switch (item.getItemId()) {
	        case R.id.action_settings:
	            return true;
	        default:
	            return super.onOptionsItemSelected(item);
	        }
	}
	

	/**
     * Slide menu item click listener
     * */
    private class SlideMenuClickListener implements
            ListView.OnItemClickListener {
    	
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // display view for selected nav drawer item
        	
            displayView(position);
        }
    }
	
	//######### drawermenu############333
	
	/***
     * Called when invalidateOptionsMenu() is triggered
     */
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        // if nav drawer is opened, hide the action items
        boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
        menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
        return super.onPrepareOptionsMenu(menu);
    }
 
    
    /**
     * Diplaying fragment view for selected nav drawer list item
     * */
    private void displayView(int position) {
        // update the main content by replacing fragments
    	
        Fragment fragment = null;
        
        Intent cat ;
        
        
        switch (position) {
        case 0://Home
        	
            fragment = new HomeFragment();
            
            break;
        case 1://sapatos
        	cat = new Intent(this, Act_shoes.class);
        	startActivity(cat);
    
        	
        	break;
        
        
 
        default:
        	
            break;
        }
        
        if (fragment != null) {
        	
        	
        	
            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.frame_container_shoes, fragment).commit(); //trocar nome fragment
 
            // update selected item and title, then close the drawer
            mDrawerList.setItemChecked(position, true);
            mDrawerList.setSelection(position);
            setTitle(navMenuTitles[position]);
            mDrawerLayout.closeDrawer(mDrawerList);
            
        } else {
            // error in creating fragment
            Log.e("MainActivity", "Error in creating fragment");
        }
    }
 
}
